]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
6 years agoworkspace: Use bounding-box property from layout manager
Jonas Dreßler [Sun, 31 May 2020 20:47:27 +0000 (22:47 +0200)]
workspace: Use bounding-box property from layout manager

Make use of the new bounding-box property we introduced for the
WindowClones layout manager in the last commit.

With this we can remove all the bounding box calculation code from the
WindowClone class and simply use the "notify::bounding-box" signal to
notify changes to our size. To make sure users of the WindowClone don't
break, we now have to convert the layout managers ClutterActorBox in our
getter function to a JS object.

Since we now also don't have to connect to the "destroy" signal of the
attached dialogs anymore, we can remove _disconnectSignals() and only
listen to "destroy" of the toplevel window.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoworkspace: Track windows in WindowClone layout manager
Jonas Dreßler [Mon, 1 Jun 2020 12:41:25 +0000 (14:41 +0200)]
workspace: Track windows in WindowClone layout manager

Move the tracking of the bounding box and all the layout related things
out of the WindowClone class and into the layout manager. This allows
the layout manager to keep track of its windows itself and simply notify
the new bounding-box property in case that box changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1297

6 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 4 Jun 2020 07:15:53 +0000 (09:15 +0200)]
Updated Spanish translation

6 years agoenvironment: Add Math.clamp
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 03:41:43 +0000 (00:41 -0300)]
environment: Add Math.clamp

The good old clamp function, now part of the Math family.
Clamp is happy after so many years of loneliness.

This is a strict implementation of the draft ECMAScript
proposal.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoviewSelector: Make sure it's invisible when overview is hidden
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 17:21:02 +0000 (14:21 -0300)]
viewSelector: Make sure it's invisible when overview is hidden

Instead of overriding the hide() method, use the vfunc to
reset, and hide the workspaces display too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoviewSelector: Rename show to animateToOverview
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 03:59:27 +0000 (00:59 -0300)]
viewSelector: Rename show to animateToOverview

The same reasoning as the previous commits.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspacesView: Override vfunc_hide
Georges Basile Stavracas Neto [Tue, 2 Jun 2020 17:15:45 +0000 (14:15 -0300)]
workspacesView: Override vfunc_hide

Override the hide vfunc instead of the plain hide() method.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspacesView: Rename show to animateToOverview
Georges Basile Stavracas Neto [Mon, 1 Jun 2020 15:20:44 +0000 (12:20 -0300)]
workspacesView: Rename show to animateToOverview

WorkspacesDisplay is a ClutterActor subclass, and overriding
the show and hide methods require chaining up, otherwise the
actor isn't actually shown or hidden.

To avoid clashing with the pre-existing show method, rename
to animateToOverview.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1295

6 years agoworkspace: Increase window clone fade duration to 200 ms
Jonas Dreßler [Tue, 2 Jun 2020 12:01:32 +0000 (14:01 +0200)]
workspace: Increase window clone fade duration to 200 ms

The current value of 100 ms is barely noticable and looks very abrupt,
use 200 ms instead which make it feel like an actual transition.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1296

6 years agoBump version to 3.37.2
Florian Müllner [Tue, 2 Jun 2020 19:48:02 +0000 (21:48 +0200)]
Bump version to 3.37.2

Update NEWS.

6 years agonotificationDaemon: Try harder to find a matching app
Florian Müllner [Fri, 29 May 2020 19:51:14 +0000 (21:51 +0200)]
notificationDaemon: Try harder to find a matching app

Unlike the desktop-entry hint, the app name is not optional. That
doesn't mean that we'll be able to match it to a .desktop file,
but we can at least try if we fail to match on PID or desktop-entry.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1291

6 years agoworkspace: Position clones using width and height instead of scale
Jonas Dreßler [Sun, 1 Sep 2019 09:49:58 +0000 (11:49 +0200)]
workspace: Position clones using width and height instead of scale

Since we now have a layout manager for the WindowClone that allows
allocating it a size that isn't the absolute size of the window, we can
now give the WindowClone an artificial size and it will get scaled
accordingly.

So make use of that and stop positioning WindowClones using fixed
position and scale and use a fixed position and fixed size instead. This
will make it easier to use a ClutterLayoutManager to allocate the
WindowClones, because layout managers should only set the allocation of
their children, not the scale.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Use boundingBox to get absolute width and height of window
Jonas Dreßler [Sun, 31 May 2020 21:33:00 +0000 (23:33 +0200)]
workspace: Use boundingBox to get absolute width and height of window

Since we're going to override the fixed width and height of the
ClutterActor the WindowClone is subclassing, remove those confusing
getter methods for width and height and switch to the public boundingBox
for getting that information.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Use boundingBox instead of getOriginalPosition()
Jonas Dreßler [Sun, 31 May 2020 21:19:59 +0000 (23:19 +0200)]
workspace: Use boundingBox instead of getOriginalPosition()

The getOriginalPosition() API of WindowClone can easily be replaced by
using the existing boundingBox property, which reflects the windows
bounding box in absolute coordinates. This property is also used
everywhere else in the Workspace object, so we can use it here, too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoworkspace: Allow allocating smaller sizes for window clones
Jonas Dreßler [Mon, 1 Jun 2020 12:36:08 +0000 (14:36 +0200)]
workspace: Allow allocating smaller sizes for window clones

Change the preferred size functions of the layout manager of window
clones to allow allocating smaller sizes, too. Also scale down the
allocation sizes of the ClutterClones our allocate implementation so
the ClutterClones will scale their texture accordingly.

This will enable us to position the window clones using their allocation
size instead of their scale, which is necessary when introducing a new
ClutterLayoutManager that positions the window clones.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agoRevert "workspace: Animate window clones using translation properties"
Jonas Dreßler [Sat, 30 May 2020 13:23:41 +0000 (15:23 +0200)]
Revert "workspace: Animate window clones using translation properties"

We're going to add a ClutterLayoutManager responsible for allocating the
WindowClones. Since layout managers should only set the allocation of
actors, not the translation or scale, we need to position the
WindowClones using their x, y, width and height properties.

The first step for this is to revert this commit, which switched from
setting fixed positions on WindowClones to using the translation
properties.

This reverts commit 8929c89d1fbbdd7b150b3d46b485b2db732cfb00.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1294

6 years agolookingGlass: Add actor tree inspector
Georges Basile Stavracas Neto [Sun, 31 May 2020 20:31:48 +0000 (17:31 -0300)]
lookingGlass: Add actor tree inspector

Being able to visualize the actor tree is a handy feature
to have, specially when debugging the hierarchy.

Add a new "Actors" tab to the Looking Glass with the actor
tree inspector. The tree is cleared on unmap to not get
heavy on the number of actors.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1292

6 years agoUpdated Slovenian translation
Matej Urbančič [Mon, 1 Jun 2020 20:25:53 +0000 (22:25 +0200)]
Updated Slovenian translation

6 years agoworkspace: Also hide attached dialogs in WindowClone from picking
Jonas Dreßler [Sun, 31 May 2020 21:05:45 +0000 (23:05 +0200)]
workspace: Also hide attached dialogs in WindowClone from picking

As explained in the comment in _init() of WindowClone, we hide the
actual clone from picking so it doesn't interfere with XDND.

This description applies to the clones of the attached dialogs just as
well though, so hide the clones of attached dialogs from picking, too.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1293

6 years agopadOsd: Apply specific CSS to Button/Leader SVG classes
Carlos Garnacho [Fri, 29 May 2020 15:12:09 +0000 (17:12 +0200)]
padOsd: Apply specific CSS to Button/Leader SVG classes

Applying a fill operation on the Leader line path seems to close
it, resulting in filled polygon. Bug or not this is not the intended
result here, we can do less ambiguously by not specifying the fill
CSS property to the Leader class.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2570
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Keep label coordinates in image coordinates
Carlos Garnacho [Fri, 29 May 2020 14:59:46 +0000 (16:59 +0200)]
padOsd: Keep label coordinates in image coordinates

Apply the necessary transforms to map those coordinates to actor
positions in the allocate phase. This all fits since it's the place
where we do know the size the actor will have.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Cache label coordinates/arrangements
Carlos Garnacho [Fri, 29 May 2020 14:07:28 +0000 (16:07 +0200)]
padOsd: Cache label coordinates/arrangements

This is actually static for a given PadDiagram, as it always represents
a single device.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2570
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Only allocate child labels within allocate vfunc
Carlos Garnacho [Fri, 29 May 2020 14:05:57 +0000 (16:05 +0200)]
padOsd: Only allocate child labels within allocate vfunc

Make both start/stop edition and label updates queue a relayout, and
only deal with child allocations in the allocate method.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Drop needless call
Carlos Garnacho [Fri, 29 May 2020 13:59:32 +0000 (15:59 +0200)]
padOsd: Drop needless call

If we got this far, we are dealing with an already known label.
There's no need for this check.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Use map to store misc action label data
Carlos Garnacho [Fri, 29 May 2020 13:53:33 +0000 (15:53 +0200)]
padOsd: Use map to store misc action label data

We'll be adding more stuff here, so it's a bit inconvenient to keep
it an array.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Move all coord/existence checks to _addLabel()
Carlos Garnacho [Fri, 29 May 2020 13:43:55 +0000 (15:43 +0200)]
padOsd: Move all coord/existence checks to _addLabel()

Drops some repetitive code. Also rely completely on the label/leader
elements being found in order to find buttons/rings/strips.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Make label coordinates API "private"
Carlos Garnacho [Thu, 28 May 2020 17:54:25 +0000 (19:54 +0200)]
padOsd: Make label coordinates API "private"

This is only called internally, and only needed there.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Move button/ring/strip label creation to PadDiagram
Carlos Garnacho [Thu, 28 May 2020 12:03:13 +0000 (14:03 +0200)]
padOsd: Move button/ring/strip label creation to PadDiagram

It's the natural container of those. We can create all those labels
internally, and only expose the updateLabels() method to update them
wholesome.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Fix double styling
Carlos Garnacho [Thu, 28 May 2020 11:38:36 +0000 (13:38 +0200)]
padOsd: Fix double styling

We set the StLabel style property, there's no need to re-apply the
large/bold text style via markup. Makes the StLabel text size consistent
across editable state changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Disable ellipsizing in title label
Carlos Garnacho [Thu, 28 May 2020 11:36:25 +0000 (13:36 +0200)]
padOsd: Disable ellipsizing in title label

We make the label text large and let it ellipsize. It ends up doing
so instead of allowing the label to expand. This title is important
and we don't want it to be ellipsized, so ensure that won't happen.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2845
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agopadOsd: Fix .allocate() call
Carlos Garnacho [Thu, 28 May 2020 11:34:57 +0000 (13:34 +0200)]
padOsd: Fix .allocate() call

This was not updated to the API change in commit 9a8ced9f5b6.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290

6 years agoscreenshot: Properly clean up if PickColor() is cancelled
Florian Müllner [Thu, 28 May 2020 22:27:34 +0000 (00:27 +0200)]
screenshot: Properly clean up if PickColor() is cancelled

We currently only remove the screenshot operation from the shooter
map if the color pick operation completed successfully, but not if
it was cancelled. As a result, we now reject any further requests
from the same sender because we assume that there is an ongoing
operation.

Fix this by moving the cleanup to a finally clause that runs for
both code paths.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288

6 years agoscreenshot: Return an error when operation is blocked
Florian Müllner [Thu, 28 May 2020 22:35:27 +0000 (00:35 +0200)]
screenshot: Return an error when operation is blocked

Right now _createScreenshot() returns a tuple that indicates failure
when a sender requests a screenshot operation before a previously
started operation finished.

However that doesn't work for the PickColor() method, as it uses a
different return type than the other methods.

Address this by returning an error instead, which works in any case;
arguably trying to start multiple operations in parallel is an error
by the caller more than it is a failed operation anyway.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1288

6 years agoextensions-tool: Escape '\' and '"' in json string
Koki Fukuda [Sun, 24 May 2020 05:40:07 +0000 (14:40 +0900)]
extensions-tool: Escape '\' and '"' in json string

If user-input string contains '\' and/or '"', extensions-tool
generates invalid json.
This fixes that by escaping '\' and '"'.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1279

6 years agoUpdate Korean translation
Changwoo Ryu [Wed, 27 May 2020 23:50:25 +0000 (23:50 +0000)]
Update Korean translation

(cherry picked from commit 4099c446da04227acabbd8e628285eb7bcbccac9)

6 years agoiconGrid: Remove fillParent support
Florian Müllner [Wed, 27 May 2020 22:21:35 +0000 (00:21 +0200)]
iconGrid: Remove fillParent support

This was only used by the frequent view to display as many children
as fit the available space. Now that the view is gone, there's no
need to keep the support ...

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1286

6 years agoiconGrid: Merge PaginatedIconGrid and IconGrid
Georges Basile Stavracas Neto [Tue, 19 May 2020 02:01:41 +0000 (23:01 -0300)]
iconGrid: Merge PaginatedIconGrid and IconGrid

Now that the only user of the IconGrid is AppDisplay, and
it only uses the paginated icon grid, there's no point in
having the two classes split anymore.

In addition to that, future commits will introduce a layout
manager that will extend current icon grid features, and
merging PaginatedIconGrid and IconGrid in the same class will
vastly simplify this transition.

Merge PaginatedIconGrid into IconGrid, and adapt AppDisplay
to this change.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1267

6 years agoappDisplay: Merge AppDisplay in AllView
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 16:43:57 +0000 (13:43 -0300)]
appDisplay: Merge AppDisplay in AllView

Now that AllView is the only actor that AppDisplay creates,
we can actually merge them together.

Merge AllView in AppDisplay, remove what used to be AppDisplay,
and rename AllView to AppDisplay.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agoappDisplay: Simplify AppDisplay
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 13:47:58 +0000 (10:47 -0300)]
appDisplay: Simplify AppDisplay

Inherit St.Widget and remove the custom layout manager. Instead,
override vfunc_allocate(). Also remove the view stack.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agoappDisplay: Remove Frequent view
Georges Basile Stavracas Neto [Wed, 4 Dec 2019 13:42:44 +0000 (10:42 -0300)]
appDisplay: Remove Frequent view

The Frequent apps grid has a few problems:

 * On a fresh install there would be no history of app usage so the
   applications shown in the grid have no relevance it takes time
   to be useful instead of being useful from the start;

 * The grid has far too many items in it to be relevant; 24 apps is
   well beyond the average use case as most people don't frequently
   use that many, so it gets populated with several apps that are
   single use (hello xterm);

 * The position of items in the grid are always changing based on an
   unknown frequency metric (and not by user-intended input) which
   makes it a poor way to quickly launch apps as one would have to
   constantly learn the positions of the items in the grid;

 * Having two app grids is a bit superfluous and needlessly complicates
   the app launching navigation: you have to spend time checking the
   frequent grid and if it's not there you have to switch over to another
   grid and find the app you need in there it's not straightforward.

Remove the Frequent tab and simplify the related code.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1425

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/880

6 years agopower: Fix icon when discharging at 100%
Florian Müllner [Tue, 26 May 2020 19:26:22 +0000 (21:26 +0200)]
power: Fix icon when discharging at 100%

The special-case for a fill level of 100 introduced in commit 5fd52e99d39
should only apply when charging, for the discharging state there's a
proper battery-level-100-symbolic icon.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2286

6 years agost/box-layout: Fix gtk-doc comments
Florian Müllner [Sun, 24 May 2020 17:24:23 +0000 (19:24 +0200)]
st/box-layout: Fix gtk-doc comments

Commit 9dc421875 added a subtle syntax error: # is used to cross
reference symbols, but must not be used in the definition of the
symbols itself.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1281

6 years agost/texture-cache: Cancel pending requests on icon-theme changes
Florian Müllner [Fri, 22 May 2020 20:53:39 +0000 (22:53 +0200)]
st/texture-cache: Cancel pending requests on icon-theme changes

As outlined in commit 36b8dcbe07, we can end up with wrong icons
if the icon theme changes right after a GTK theme change to/from
HighContrast triggered a theme reload.

That's because when we reload icons for the new icon theme, there
are already pending requests due to the icon-style change; those
requests are simply re-used for the new icons, with the existing
icon infos from the old theme.

The above commit applied a simple work-around by changing the
icon theme before the GTK theme, but that only works for the
HighContrast switch in our own UI.

It turns out that Settings also uses the "wrong" order, so the
issue still reproduces with the Universal Access panel.

So instead of relying on everything changing the settings in the
order we expect, cancel all ongoing requests on icon-theme changes.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1277

6 years agotheme: Make world clock times tabular
PrOF-kk [Sun, 24 May 2020 10:55:26 +0000 (12:55 +0200)]
theme: Make world clock times tabular

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2825

6 years agopanel: fix size of battery percentage label
Björn Daase [Sat, 23 May 2020 20:48:47 +0000 (22:48 +0200)]
panel: fix size of battery percentage label

Adjust the label of the (optional) battery percentage in the top
bar to have the same size as all other text in the top bar.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2652

6 years agoUpdate German translation
Christian Kirbach [Sun, 24 May 2020 16:06:24 +0000 (16:06 +0000)]
Update German translation

(cherry picked from commit bc3c1e5a68db8318583622e0087add70dec2aa58)

6 years agoUpdate Romanian translation
Florentina Mușat [Sun, 24 May 2020 10:43:48 +0000 (10:43 +0000)]
Update Romanian translation

6 years agoUpdate Slovak translation
Dušan Kazik [Sun, 24 May 2020 07:27:55 +0000 (07:27 +0000)]
Update Slovak translation

(cherry picked from commit b148a8bc6093d18ba28dee33512f0545abd041d3)

6 years agoscreenshot: Add preview to color picker
Florian Müllner [Mon, 30 Jul 2018 16:31:17 +0000 (18:31 +0200)]
screenshot: Add preview to color picker

With color picking implemented in the compositor, we
can do better than letting the user pick a pixel with
the crosshair cursor, and present them with a preview
of the color that will be selected.

Do this by replacing the cursor with a custom icon and
apply a recoloring effect, where we replace a given color
with the color of the currently hovered pixel (similar
to a green screen).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/451

6 years agosearch: Remove usage of allocation flags
Jonas Dreßler [Fri, 22 May 2020 09:53:05 +0000 (11:53 +0200)]
search: Remove usage of allocation flags

Allocation flags have been removed from Clutter, and commit
400d045a6aa1b4703a3fdd5cf5c7e9b54aa60afd accidentally added their
arguments again which causes a warning, so remove those arguments.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1276

6 years agoUpdate Ukrainian translation
Yuri Chornoivan [Fri, 22 May 2020 05:44:50 +0000 (05:44 +0000)]
Update Ukrainian translation

6 years agoUse pid_t for meta_window_get_pid()
Jonas Dreßler [Wed, 8 Apr 2020 14:23:11 +0000 (16:23 +0200)]
Use pid_t for meta_window_get_pid()

The return value of meta_window_get_pid() changed again and it now
returns pid_t, which usually just resolves to int on most platforms. We
should still use pid_t now though, so do that.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1188

6 years agoStClipboard: add st_clipboard_get_mimetypes
Andy Holmes [Thu, 21 May 2020 19:24:14 +0000 (12:24 -0700)]
StClipboard: add st_clipboard_get_mimetypes

Since the `MetaSelection` of the global `StClipboard` is private (and
should be), there is no reasonable way for extensions or external code
to query the supported mime-types.

Add `st_clipboard_get_mimetypes()` so this can be queried without
poking around in private code.

closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2819

6 years agoextensions-app: Indicate extension errors
Florian Müllner [Mon, 11 May 2020 13:31:29 +0000 (15:31 +0200)]
extensions-app: Indicate extension errors

Currently there is no indication that an extension had an error except
for the sensitivity of the switch (which may have a different cause).

This is useful information to users, so add a small error indicator
alongside the updates icon and show the actual error in the details.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2337

6 years agoextensionSystem: Don't log error name
Florian Müllner [Mon, 11 May 2020 23:12:50 +0000 (01:12 +0200)]
extensionSystem: Don't log error name

logExtensionError() currently saves the error message by calling
toString() on the passed error. That's convenient as it allows to
pass a string instead of a "proper" error, but the result isn't
great for the common Error case: Its toString() method prefixes
the message with the error name, which usually is just "Error:".

The plain message is more suitable for displaying it to users,
so use that for Error objects.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2337

6 years agoextensions-app: Reset switch handle when it becomes insensitive
Florian Müllner [Mon, 18 May 2020 12:24:16 +0000 (14:24 +0200)]
extensions-app: Reset switch handle when it becomes insensitive

Currently the switches handle position reflects the requested
extension state (as in: the user (de)activated the switch),
while the actual extension state is reflected by the underlying
state.

That doesn't work well when the switch is insensitive though (for
example on error), because the desaturation neuters the color
that reflects the state.

Address this by resetting the switch handle to the state when
making it insensitive.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1263

6 years agost: Remove BoxLayout child meta
Florian Müllner [Wed, 20 May 2020 23:11:04 +0000 (01:11 +0200)]
st: Remove BoxLayout child meta

They were deprecated last cycle in favor of ClutterActor's own
expand/align properties, time to retire them for good.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1274

6 years agost/theme: Remove entry from files_by_stylesheet after emitting signal
Jonas Dreßler [Mon, 11 May 2020 18:41:37 +0000 (20:41 +0200)]
st/theme: Remove entry from files_by_stylesheet after emitting signal

Since e06109c23ce2a6dd53d32c26a89ab46a952d7373 we keep old theme nodes
valid during the emission of the "custom-stylesheets-changed" signal.

It turns out that we might still look up the file of a stylesheet using
the files_by_stylesheet hashtable during the emission of that signal,
causing a crash because the assertion in _st_theme_resolve_url() fails.

So fix that and remove the stylesheet entry from the files_by_stylesheet
hashtable after emitting the "custom-stylesheets-changed" signal. And to
be consistent, also remove the entry from the stylesheets_by_file
hashtable after emitting the signal.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2757
6 years agoStBoxLayout: Fix up some documentation
Andy Holmes [Wed, 20 May 2020 19:47:35 +0000 (12:47 -0700)]
StBoxLayout: Fix up some documentation

`StBoxLayout` has a couple properties (`vertical` and `pack-start`)
improperly referenced as signals, and is somewhat unclear these
properties are wrappers around the underlying `ClutterBoxLayout`
properties.

Fix these up and add references to the underlying properties, rather
than redescribing them.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2816

6 years agost: Remove deprecated Bin properties
Florian Müllner [Thu, 21 May 2020 03:21:47 +0000 (05:21 +0200)]
st: Remove deprecated Bin properties

Those were deprecated last cycle in favor of ClutterActor's own
expand/align properties, and don't have any effect anymore.

Time to remove them for good.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1273

6 years agojs: Listen to notify::allocation instead of allocation-changed
Jonas Dreßler [Sat, 9 May 2020 19:37:18 +0000 (21:37 +0200)]
js: Listen to notify::allocation instead of allocation-changed

ClutterActors "allocation-changed" signal was removed since it's no
longer needed now that there are no ClutterAllocationFlags anymore.

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1245

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1245

6 years agoRemove ClutterAllocationFlags
Jonas Dreßler [Sat, 9 May 2020 19:30:26 +0000 (21:30 +0200)]
Remove ClutterAllocationFlags

Those flags were removed from Clutter since they're pretty much unused,
so remove them here, too.

See https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1245

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1245

6 years agoiconGrid: Remove dead code
Georges Basile Stavracas Neto [Mon, 18 May 2020 16:51:46 +0000 (13:51 -0300)]
iconGrid: Remove dead code

Remove unused methods from IconGrid.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1265

6 years agosearch: Replace IconGrid from grid search results
Georges Basile Stavracas Neto [Mon, 18 May 2020 16:37:03 +0000 (13:37 -0300)]
search: Replace IconGrid from grid search results

Replace the usage of IconGrid in the grid search results by
a custom layout manager that only allocates as many children
as the actor can fit.

This new layout manager does not implement changing the icon
size depending on the screen size.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1265

6 years agoenvironment: Replace monkey-patched method with Symbol.iterator
Florian Müllner [Tue, 19 May 2020 19:29:49 +0000 (21:29 +0200)]
environment: Replace monkey-patched method with Symbol.iterator

This allows using the actor itself as iterator:

  for (let child of container)
      doStuff(child);

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1269

6 years agoenvironment: Monkey-patch iterate_children() generator
Florian Müllner [Tue, 19 May 2020 18:59:36 +0000 (20:59 +0200)]
environment: Monkey-patch iterate_children() generator

This is a small convenience method for using ClutterActor's iterator API
with javascript's built-in iterator protocol, for example as:

  for (let child of container.iterate_children())
      doStuff(child);

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1268

6 years agonotificationDaemon: Fix grouping by PID
Florian Müllner [Fri, 15 May 2020 13:28:17 +0000 (15:28 +0200)]
notificationDaemon: Fix grouping by PID

For fd.o notifications, we are taking the sender's PID into
account when associating notifications with sources (mainly
to deal with notify-send).

This broke when the implementation under the well-known name
was moved into a separate service, as the implementation in
gnome-shell will now always see the public notification-daemon
as sender.

Restore the old behavior by resolving the sender PID in the
separate service, and pass it as hint to the implementation
in gnome-shell.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2592

6 years agoextensionSystem: Prevent broken updates
Florian Müllner [Thu, 7 May 2020 11:54:24 +0000 (13:54 +0200)]
extensionSystem: Prevent broken updates

Spidermonkey caches imports, which means that uninstalling an
old extension version and installing a new one doesn't work as
expected: If the previous version was loaded, then its code will
be imported instead.

For the last couple of releases this has been a reliable source
of extension bug reports after major GNOME updates. Thankfully
chrome-gnome-shell removed its update support in favor of our
built-in support now, but users may still use older versions
or perform those actions manually, so it still makes sense to
catch this case and set an appropriate error.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1248

6 years agodateMenu: Remove unused property
Florian Müllner [Mon, 18 May 2020 10:50:57 +0000 (12:50 +0200)]
dateMenu: Remove unused property

This is a left-over from an earlier iteration where the session's
presence status was used rather than the GSetting.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2796

6 years agocalendar: Fix initial do-not-disturb state
Florian Müllner [Mon, 18 May 2020 16:44:57 +0000 (18:44 +0200)]
calendar: Fix initial do-not-disturb state

The do-not-disturb button and the contained switch are
tied together via a bidirectional property binding.

However it still matters which objects are used as source
and target, as that will determine the initial state: Right
now the (unchecked) button is used as source, which means
that do-not-disturb is turned off on startup.

We want the state to be preserved, so swap source and target
to let the switch (that is bound to the underlying GSetting)
control the initial state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2804

6 years agostatus: Pass scroll events to volume and brightness sliders
Peter Simonyi [Sat, 16 May 2020 13:04:32 +0000 (09:04 -0400)]
status: Pass scroll events to volume and brightness sliders

Sliders can be operated by mouse scroll, but the mouse has to be over
the slider control.  Make the brightness and volume system menu entries
forward scroll events to the sliders they contain so that scrolling
anywhere on the menu item operates the slider.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2795

6 years agoUpdate Serbian translation
Марко Костић [Sun, 17 May 2020 19:22:39 +0000 (19:22 +0000)]
Update Serbian translation

(cherry picked from commit db2917479acbc9d6878fd291ba46a05df48260e6)

6 years agoextensionSystem: Update canChange on error
Florian Müllner [Sun, 10 May 2020 18:21:03 +0000 (20:21 +0200)]
extensionSystem: Update canChange on error

Whether or not an extension has errors influences the 'canChange'
property, but so far we only update it for errors that occur when
initializing the extension, not when an extension is enabled later.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1249

6 years agoUpdate Finnish translation
Jiri Grönroos [Sat, 16 May 2020 11:02:59 +0000 (11:02 +0000)]
Update Finnish translation

(cherry picked from commit 5815f9ac0eb6ecfc97cbb4aa8c6f0276716a8015)

6 years agoUpdate Turkish translation
Emin Tufan Çetin [Sat, 16 May 2020 09:12:43 +0000 (09:12 +0000)]
Update Turkish translation

6 years agodateMenu: Update timezone offsets when timezone changes
Bryan Dunsmore [Thu, 14 May 2020 22:04:12 +0000 (17:04 -0500)]
dateMenu: Update timezone offsets when timezone changes

Adds a signal handler to update the timezone offsets whenever the
user changes the system timezone.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2209

6 years agoUpdate Catalan translation
Jordi Mas [Fri, 15 May 2020 18:43:22 +0000 (20:43 +0200)]
Update Catalan translation

6 years agoextensionDownloader: Replace deprecated Soup.SessionAsync
Michael Lass [Thu, 14 May 2020 18:40:57 +0000 (20:40 +0200)]
extensionDownloader: Replace deprecated Soup.SessionAsync

Soup.SessionAsync by default sets timeout and idle_timeout to 0. This
causes connections to hang around in state CLOSE_WAIT forever after the
remote host has closed the connection.

To fix this, we could set timeout and idle_timeout manually. However,
Soup.SessionAsync is marked as deprecated anyway and should be replaced
by Soup.Session. Doing so also sets a default timeout of 60 seconds.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2774

6 years agodash: Allow adding favorites out of favorites zone
Bryan Dunsmore [Wed, 13 May 2020 16:28:53 +0000 (11:28 -0500)]
dash: Allow adding favorites out of favorites zone

Previously, you could not add favorites outside of the favorites zone.
This change inserts a placeholder at the end of the favorites zone if
you are outside of it.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2777

6 years agoUpdate Indonesian translation
Kukuh Syafaat [Thu, 14 May 2020 09:42:52 +0000 (09:42 +0000)]
Update Indonesian translation

(cherry picked from commit bc6a3329b4c8b4d277824b02aa3c057b517b7e9b)

6 years agoextensionSystem: Disable extension before unloading stylesheet
Florian Müllner [Wed, 13 May 2020 18:10:56 +0000 (20:10 +0200)]
extensionSystem: Disable extension before unloading stylesheet

Removing a stylesheet from the theme will trigger a style update. There's
little point in updating the extension actors that are about to be destroyed
(hopefully), so call the extension's disable() function first.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2757

6 years agompris: Prevent DBus race when creating media players
Bryan Dunsmore [Wed, 13 May 2020 05:38:01 +0000 (00:38 -0500)]
mpris: Prevent DBus race when creating media players

Sometimes an MPRIS media player will create and then destroy an object
before the signals that handle the object's destruction can be created.
This verifies that the object still exists after the necessary signals
have been created.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2776

6 years agoUpdate Japanese translation
sicklylife [Wed, 13 May 2020 15:16:58 +0000 (15:16 +0000)]
Update Japanese translation

6 years agoUpdate Japanese translation
sicklylife [Wed, 13 May 2020 15:08:22 +0000 (15:08 +0000)]
Update Japanese translation

6 years agowindowManager: Allow xwayland startup to complete without systemd
Florian Müllner [Tue, 12 May 2020 15:16:34 +0000 (17:16 +0200)]
windowManager: Allow xwayland startup to complete without systemd

Since commit 0ecddafc207 gsd-xsettings startup has been made conditional
on the systemd user instance being available at runtime. While that is
correct, it means that completing xwayland startup is also conditional
now.

We always want xwayland startup to go ahead, so wait for the XSettings
plugin to appear on the bus when gsd-xsettings is launched by gnome-session
and complete the task immediately if startup fails.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1252

6 years agoUpdate Persian translation
Danial Behzadi [Tue, 12 May 2020 14:24:58 +0000 (14:24 +0000)]
Update Persian translation

6 years agoUpdate French translation
Charles Monzat [Tue, 12 May 2020 14:14:34 +0000 (14:14 +0000)]
Update French translation

(cherry picked from commit e8e79173d90982d269a93cd73638c57851a7aa86)

6 years agoUpdate Swedish translation
Anders Jonsson [Mon, 11 May 2020 22:35:45 +0000 (22:35 +0000)]
Update Swedish translation

(cherry picked from commit 884a2623a0d050a3cf183d580fe27f94cb599184)

6 years agoUpdate Italian translation
Milo Casagrande [Mon, 11 May 2020 15:52:39 +0000 (15:52 +0000)]
Update Italian translation

(cherry picked from commit fbdb56eb6da8d74503c1164a4fcbfee3e72eaf73)

6 years agoworkspacesView: Lower scroll timeout
Alexander Mikhaylenko [Sat, 9 May 2020 14:27:00 +0000 (19:27 +0500)]
workspacesView: Lower scroll timeout

Looks like 250ms is too high, lower it to 150ms.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2602

6 years agoappDisplay: Lower scroll timeout
Alexander Mikhaylenko [Sat, 9 May 2020 14:26:37 +0000 (19:26 +0500)]
appDisplay: Lower scroll timeout

Looks like 250ms is too high, lower it to 150ms.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2602

6 years agoshell: Fix return value if the systemd unit is actually successfully run
Carlos Garnacho [Fri, 8 May 2020 17:10:48 +0000 (19:10 +0200)]
shell: Fix return value if the systemd unit is actually successfully run

This got broken by last minute changes in commit 2d56395921. There's no change
too simple.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1242

6 years agoUpdate Romanian translation
Florentina Mușat [Fri, 8 May 2020 16:32:22 +0000 (16:32 +0000)]
Update Romanian translation

6 years agosystemActions: Use 'system-log-out-symbolic' for logout
Amr Ibrahim [Thu, 7 May 2020 19:19:32 +0000 (19:19 +0000)]
systemActions: Use 'system-log-out-symbolic' for logout

Changing the icon to 'system-log-out-symbolic' has no visual
change in a default GNOME setup since both 'system-log-out-symbolic'
and 'application-exit-symbolic' are the same in adwaita-icon-theme
(at the time of writing), however, other icon themes differentiate
between the two icons so pointing to the appropriate icon name
is the right thing to do.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2751

6 years agoextensions-app: Add permission to talk to gnome-session
Florian Müllner [Sat, 2 May 2020 21:38:57 +0000 (23:38 +0200)]
extensions-app: Add permission to talk to gnome-session

This is required for offering a "Logout" option when handling extension
updates.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2735

6 years agoextensions-app: Fix Logout call
Florian Müllner [Sat, 2 May 2020 21:32:04 +0000 (23:32 +0200)]
extensions-app: Fix Logout call

Commit 764527c8c9b adjusted the "call" call to promisification that
never happened (in this bit of code).

We can either add back a callback or properly promisify the call;
this opts for the latter.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2735

6 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 7 May 2020 14:48:35 +0000 (16:48 +0200)]
Updated Spanish translation

6 years agopanel: Center app icon
Florian Müllner [Thu, 7 May 2020 12:25:13 +0000 (14:25 +0200)]
panel: Center app icon

Giving the icon extra space may distort it, so center it vertically.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2578

6 years agoUpdate British English translation
Bruce Cowan [Thu, 7 May 2020 10:48:02 +0000 (10:48 +0000)]
Update British English translation

(cherry picked from commit 6a9ce0f18ca07bd51d759cf45fbb2e225637d1fd)

6 years agoshell: Check we are in a systemd environment before starting systemd units
Carlos Garnacho [Wed, 6 May 2020 08:57:54 +0000 (10:57 +0200)]
shell: Check we are in a systemd environment before starting systemd units

Avoid starting/stopping the gsd-xsettings systemd unit if the shell itself
was not started via systemd. In the lack of a user session manager, we
have no means to neatly start/stop services, so should rely on the good
ol' gnome-session to do this for us.

This changes the return value meaning slightly, TRUE means "service did
start", FALSE otherwise. The error is only raised if we ought to start,
but it produced an error somehow.

https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1238
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2755